Data communication systems and the elements thereof involve the electronic transmission of encoded information or data from one point to another. In order to provide for the orderly and accurate transfer of data between elements and digital systems, certain roles of transmission are established which are called "protocols". These factors are often called data link control protocols (DLCs) which are the established roles required for communication between terminals and computers over the communication channels involved. These data link control protocols provide the function of establishing and terminating connections between stations; ensuring message integrity through error detection; providing requests for retransmission; giving positive and negative acknowledgments; providing for identification of the sender and receiver by means of polling or selection procedures; and providing special control functions, such as "requests for status", "station reset", "reset acknowledge", "start", "start acknowledge" and "disconnect".
The data link control protocols may be classified in certain categories, such as (i) byte control protocols (BCPs) and (ii) bit-oriented protocols (BOPs). With the "byte control protocols", a defined set of communication control characters monitors the orderly operation of the data link and these control characters are part of the character probe set. Thus, the BCP (byte oriented protocols) messages are transmitted in blocks composed of a header or control field, a body or test field, and a trail or error-checking field with specialized characters used as field or block delimiters. One example of byte control protocol is the Binary Synchronous Communications Protocol (BISYNC). The "character-oriented" or "byte" type protocols, because of their nature, require a large amount of time consuming overhead operations.
In the "byte oriented" control protocol (BCP) the messages are transmitted in units called "blocks". A header field contains information that identifies the address of the message destination (or source), the job number, if any, the type of message (data or control type), the control action required, and positive or negative acknowledgment to ensure error free reception of previous messages or message. These control actions are used to reset or initialize a secondary station, to acknowledge good or bad reception of blocks, to inquire why a response or acknowledgment did not occur within a specific time period, or else to abort a transfer sequence. The control information involved is conveyed via special characters or character sequences and the text or text field of the BCP message contains any data that is being transmitted.
The "bit oriented" protocols (BLPs) may use only two or three specific control characters for monitoring operation of the data link. These characters are used to delimit the beginning (FLAG) and the end (FLAG, ABORT, or GA-go ahead) of a message frame. Upon receipt of the opening FLAG, there is a positioned significance used to delineate the bit sequence that follows into specified fields which are designated as Address, Control, Information and Frame Check Sequence fields.
The "bit-oriented protocol" messages are somewhat simpler than the byte-oriented messages. The BOP messages are transmitted also in "frames" and all the messages follow one standardized frame or format. These "bit-oriented" messages are independent of codes, line configurations and peripherals. The positional significance instead of control characters are character counts to provide one standard frame-format for all messages. In the "bit-oriented" protocol system a "frame" starts with an eight-bit FLAG sequence which is followed by sequences of: ADDRESS, CONTROL, INFORMATION, and FRAME CHECK SEQUENCE, and the frame then ends with another FLAG sequence.
In the BOP protocol the ADDRESS tells the address of the receiving station or in certain cases the address of the station which originated the frame. The CONTROL field determines the "type" of message, the send and the receive frame sequence counts and any poll commands from the primary station, in addition to commanding an addressed secondary station what operation to perform.
The INFORMATION field will involve a stream of data bits which may be configured in various code structures.
When using "synchronous" transmission over data communication lines, there may be four different types of methods of synchronization--bit, character, block, and message. Bit synchronization is achieved through a received clock signal which is coincident with a received serial data stream. "Character" synchronization is accomplished by recognizing two contiguous "phasing" characters called SYN or synchronization characters, in byte oriented operations.
In the transmission method called "serial data" transmission, this communication involves the use of a transmission line where "bits" of data are transmitted one after another in serial fashion. These serial data communications can occur in two fundamental modes. These are (i) asynchronous (not clocked) or (ii) synchronous (clocked).
In byte oriented operations, the asynchronous mode requires another method to coordinate incoming data with the receiver's internal system. Thus, an asynchronous communication network keeps its communication line in "idle" condition (generally called as Mark or binary 1 condition). Then a "start" bit precedes each transmitted character to indicate that a new character is beginning, and then one or more "stop" bits signal the end of the character and the return to the idle condition. This sequence of start bit-character data-stop bit is generally called a character or byte.
In asynchronous usage, the "character length" varies, and may range from five to eight bits depending on the code used (BAUDOT, ASCII, etc.). Error checking also can be used on each character by using an additional bit called the "parity" bit. Thus, in asynchronous communication of characters, much of the time consumed involves non-information data but rather control bits, such as the start bit and stop bits.
The use of "synchronous" communication eliminates the high overhead of control bits but still requires another method for achieving synchronization. Such type of synchronous communication network transmits a clock signal along with the data bits in order to establish individual bit synchronization between devices, and the use of the mentioned SYN character.
Thus, standardized rules, called communication protocols, are used to define the transmission format whether it be asynchronous or synchronous. These complex computer-to-terminal systems utilize synchronous protocols which are either character (byte) oriented or which are bit-oriented protocols. The primary "character oriented" protocol used is called Binary Synchronous Communication. These require that transmission be in a half-duplex mode since receipt of a block must be acknowledged before another block can be transmitted.
Bit oriented protocols (BOPs) eliminate the need for half-duplex transmission and permit full duplex operation since blocks received do not have to be acknowledged each time they are sent.
Presently there are various bit-oriented protocols in current usage which are: Advanced Data Communication Control Procedure (ADCCP); High-Level Data-Link Control (HDLC); BDLC, Burroughs Data Link Control and Synchronous Data-Link Control (SDLC).